<?php
/**
 * Created by JetBrains PhpStorm.
 * User: ncduc
 * Date: 6/8/13
 * Time: 4:34 PM
 * To change this template use File | Settings | File Templates.
 */
include_once("libs/setup.php");
include_once("libs/helper.php");
$query_string = $_SERVER['QUERY_STRING'];
if($query_string !='')
{
    $smarty->assign('resetcode',$_SERVER['QUERY_STRING']);
    $smarty->display('reset-password-2.tpl');
    return;
}
if(!isset($_REQUEST["submit"]))
{
    $smarty->display('reset-password-1.tpl');
    return;
}
//form Reset-password-1
if(!isset($_REQUEST["resetcode"]))
{
    $email = $_REQUEST["email"];
    $error='';
    if(!$email)
    {
        $error.="Bạn chưa nhập email";
    }
    else
    {
        if(!filter_var($email,FILTER_VALIDATE_EMAIL))
        {
            $error.="Email không đúng định dạng";
        }
        else
        {
            include_once("DataProvider.php");
            $email= addslashes($email);
            $query_result = DataProvider::ExecuteQuery("Select * From User where Email='{$email}';");
            $result=false;
            if($query_result!=false)
            {
                while($row = mysql_fetch_array($query_result,MYSQL_ASSOC))
                {
                    $result=true;
                    $ho_ten=$row["HoTen"];
                    $email=$row["Email"];
                    $activationKey = md5(mt_rand() . mt_rand() . mt_rand() . mt_rand() . mt_rand());
                    $sql = "UPDATE user SET ActivationCode='{$activationKey}' WHERE Ma = {$row["Ma"]}";
                    if(DataProvider::ExecuteQuery($sql))
                    {
                        $message = "Chào $ho_ten, bạn vừa thực hiện yêu cầu lấy lại mật khẩu. Xin vui lòng click vào đường dẫn sau đây để tiến hành lấy lại mật khẩu cho bạn\r\nhttp://localhost/oms/resetpassword.php?{$activationKey}\r\nXin cám ơn.";
                        $arr_email = array(array($email,$row["HoTen"]));
                        if (!send_mail("OMS Reset Password",$arr_email,$message)) {
                            echo "Mailer Error: " ;
                        } else {

                            $smarty->assign('title', 'Thông báo');
                            $smarty->assign('message', 'Một email với yêu cầu lấy lại mật khẩu đã được gửi đến bạn. Vui lòng làm theo hướng dẫn trong email để có thể lấy lại mật khẩu.');
                            $smarty->assign('message_class', 'success');
                            $smarty->display('notification.tpl');
                            return;
                        }
                    }
                }
                if($result==false)
                {
                    $error.="Email $email không tìm thấy trong hệ thống";
                }
            }
            else
            {
                $error.="Lỗi hệ thống";
                $smarty->assign('title', 'Thông báo');
                $smarty->assign('message', 'Lỗi hệ thống. Xin vui lòng liên hệ admin để được khác phục');
                $smarty->assign('message_class', 'error');
                $smarty->display('notification.tpl');
            }
        }
    }

    $smarty->assign('is_display_error','block');
    $smarty->assign('error_message',$error);
    $smarty->display('reset-password-1.tpl');
    return;
}
//form reset-password-2

$password=addslashes($_REQUEST["pwd"]);
$confirm_password = addslashes($_REQUEST["repwd"]);
$reset_code = addslashes($_REQUEST["resetcode"]);
//form validation
$error='';
if(!$password)
{
    $error.="Bạn chưa nhập mật khẩu";
}
else
{
    if(strlen($password)<5)
    {
        $error.="Mật khẩu phải có ít nhất 5 ký tự";
    }
    if($confirm_password!=$password)
    {
        $error.="Mật khẩu nhập lại không khớp";
    }
}
if($error!='')
{
    $smarty->assign('is_display_error','block');
    $smarty->assign('error_message',$error);
    $smarty->display('reset-password-2.tpl');
}
include_once("DataProvider.php");
$query = "Select * from user WHERE ActivationCode ='{$reset_code}';";
$query_result = DataProvider::ExecuteQuery($query);
$result=false;
if($query_result!=false)
{
    while($row = mysql_fetch_array($query_result,MYSQL_ASSOC))
    {
        $result=true;
        $unique_salt = $row["PassSalt"];
        $hash = md5($unique_salt . $password);

        $sql = "UPDATE user SET ActivationCode='' ,Password='{$hash}' WHERE Ma={$row["Ma"]}";
        if(!DataProvider::ExecuteQuery($sql))
        {
          //  die ("Lỗi cập nhật. SQL query".$sql);
            system_failed();
            return;
        }
        $smarty->assign('title', 'Lấy lại mật khẩu thành công');
        $smarty->assign('message', "Chúc mừng {$row["HoTen"]} đã lấy lại thành công mật khẩu.");
        $smarty->assign('message_class', 'success');
        $smarty->display('notification.tpl');
        return;
    }
}
else
{
    system_failed();
}

